The present invention relates to an electronic musical instrument having a waveform data memory.
An electronic musical instrument having a memory storing various waveform data corresponding to tones and range (or pitch) has been known in which a read address is assigned to every musical sound generator for picking up waveforms to be generated thereby. FIG. 1 is a block circuit of such an electronic musical instrument. In FIG. 1, a reference numeral 1 depicts a key/tone selection switch, 2 an assigning circuit for the switch 1, 3 an execution control circuit, 4 a waveform data memory, 5 a bank code memory, 6 a frequency number circuit, 7 a frequency number accumulation circuit, 8 an envelope waveform circuit, 9 a multiplier circuit and 10 a sound circuit.
The key/tone switch 1 comprises a set of switches which selects positions of keys depressed by a player and tones corresponding thereto. The assigning circuit 2 electrically scans the set of switches of the key/tone switch 1, internally assigns an information obtained according to on or off state of each switch and sends it to the execution control circuit 3 as a key information and a tone information. The execution control circuit 3 contains a central processing circuit which performs processings such as read address generation for reading waveform data from the waveform data memory 4 according to the key and tone informations in the manner to be described later. The waveform data memory 4 stores various waveform data corresponding to tones and pitches in respective memory locations. The waveform data memory 4 is composed of a plurality of memory banks or regions whose size, i.e., memory capacity are fixed. The memory banks are made correspondent to tones and pitches, respectively, so that, in order to generate a certain musical sound, one of the memory banks of the memory 4 is selected by the bank code memory 5 and then a read address range corresponding to the key information is appointed by the frequency number circuit 6 and the accumulation circuit 7. Waveform data is readout from the waveform data memory 4 according to the address determined by the bank code memory 5, the frequency number circuit 6 and the accumulation circuit 7. The readout waveform data is multiplied by the multiplier circuit 9 with an output of the envelope waveform circuit 8 and digital-analog converted by the sound circuit 10, resulting in the desired musical sound signal.
The term "frequency number" used herein corresponds to a period of reading the waveform data memory and is referred to as "high" when data stored in the waveform data memory 4 is readout at a short period. The frequency number circuit provides a clock signal by which the reading period is determined.
The waveform data memory 4 may be constituted with a read only memory (ROM), a static random access read/write memory (S-RAM) and/or a dynamic random access read/write memory (D-RAM). The data storage devices, their use in a system and the data reading operations of these memories are different and, particularly, the address system for the D-RAM is much different from those of the others. Therefore, when, in order to enable arbitrary change of the memories correspondingly to the musical sound generators, a special address circuit must be used separately. Thus, the system construction becomes large.
Further, the size of each bank of the waveform data memory 4 in FIG. 1 is preliminarily fixed and thus the maximum number of address bits for reading one bank is fixed in the system. This means that, when a waveform data from a certain musical sound generator is special and so the data region should be expanded, it is very difficult to accommodate thereto due to the limited number of address bits. That is, in order to expand a certain bank of the memory 4, the latter must have a large memory capacity causing the number of bits necessary to access thereto to be increased. In other words, since the memory banks of usual size are used by corresponding ones of the musical sound generators, it is impossible to increase the number of address bits so that other musical sound generators can use even memory banks which are free.
Further, there may be a case where bit length of waveform data can be smaller depending upon a desired tone and pitch and there may be a case where there are several waveform data types, i.e., linear, exponential and differential data expressions and waveform data of such types are stored in the waveform data memory 4 in mixed state.
Since the conventional waveform data memory uses a common data system, some of data expressions can not be waveform-transformed in processing with the envelope waveform after readout from the waveform data memory.